ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
↳ QTRS
↳ Overlay + Local Confluence
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → ACK_IN(m, n)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
Used ordering: Combined order from the following AFS and order.
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
s1 > U211
0 > U211
u11 > ackout > ackin > U211
u212 > ackin > U211
u22 > ackout > ackin > U211
U211: multiset
u212: multiset
u22: multiset
0: multiset
s1: [1]
u11: multiset
ackin: multiset
ackout: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
trivial
s1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))